var socketIO = require('socket.io')
, twoChat = require('./twoPersonChat.js')
, privateChat = require('./privateChat.js')
, io
, url = require('url');

/*
  alex, 25 juli 2013
  
  socket.io - lagret,
  definierar vad som händer med en ny
  socket-anslutning.
  ska finnas olika saker:
  'tete-a-tete' för 2-personerschatt,
  'forum' för en chatt som delas via länk med godtyckligt många deltagare, ...
  
  Vad som ska hända beror på http-headers. De ska inehålla
  info om användare (nyckel till autentisering?),
  samt vad användaren vill göra.
  
  VIKTIGT!!! Lita aldrig på data från användaren!
  Skicka aldrig okrypterade lösenord!
  Common sense!
*/

var serverToSocket = function(httpServer) {
    io = socketIO.listen(httpServer);
    io.sockets.on('connection', function(socket) {
        console.log("connection event, headers below...");
        
        // read headers, extract useful info:
        var headers = socket.handshake.headers;
        console.log("Cookeie = ", socket.handshake.headers.cookie);
        console.log("headers = ", headers);
        
        // parsa URL: (TODO)
        console.log(url.parse(headers.referer));
        
        if (true) twoChat.teteAtete(io, socket);
        else      privateChat.join_private_chat(io, socket, url);
    });
}

exports.serverToSocket = serverToSocket;
